// 代码解析过程中已知有foo变量，只是还没有赋值，所以可以打印
// console.log(foo);
// var foo = "abc"

// Cannot access 'foo' before initialization
// let / const 他们没有作用域提升
// foo被创建出来了，但是不能被访问
// 作用域提升：能提前被访问
console.log(foo);
let foo = "abc";
